Media (documents, audio, video, etc.) files are known to be stored in various file formats. Currently there are over 18,000 file formats. Operating systems support a defined set of file formats and programs to create files in those formats. For example Microsoft Word is a program used to create word (.doc) files on the Windows operating system. These files cannot be opened on a Mac system for example, and the files created by the Mac AppleWorks program cannot be opened/edited from within the Microsoft Word application, for example.
In a heterogeneous environment including networked computers, file conversion to share information is a necessity. Hence we require file converters to convert between a myriad of file formats. These are used to convert files from different word processing, spreadsheet, graphic, database, etc. formats.
The current trend is towards deploying file converters as web services. Clients requiring a file conversion discover the corresponding web service dynamically. The original file is transmitted to the conversion service and the converted file is received. However, the confidentiality of the files must be protected during the process.
Clients using these services need assurances that copies of the file do not get stored, for example, on the conversion server. Encryption can generally be used to hide the contents of a file. However, file converters require the file in its original format to perform conversion to another format. Hence, the known systems do not achieve both confidentiality and conversion at the same time.
Currently, in known distributed environments, clients send files to a remote system that is running the conversion service. Existing file security techniques only address the protection of the file during transmission to the conversion service. Techniques do not exist that assure that data would not be compromised or tampered by the conversion service.
Most clients require assurance of the confidentiality and integrity of their files. Hence vendors running conversion services execute non-disclosure or confidentiality agreements with the clients. In these agreements the vendors of these services assure that they do not permanently keep any copies of the files and that they are sensitive to confidentiality and security requirements.
The above mechanism of signing non-disclosure agreements is suitable for a static environment of services and clients. But in an environment where new services are added frequently and clients discover these services dynamically, new mechanisms for establishing trust between client and servers are required.
The data transfer between clients and the conversion service is protected using file encryption techniques. The public key infrastructure (PKI) is one such encryption technique that is used to protect documents when they are being transmitted over a network between participants. Every participant in the network has two keys—a public key known to everyone else in the network and a private key only known to the participant. Any document that is encrypted with a participant's public key can only be decrypted by the same participant's private key and vice versa.
To understand PKI, reference is made to FIG. 1 illustrating a document transfer between Alice and Bob. Alice knows the public key 2 of Bob. Alice uses Bob's public key to encrypt the document or original file 4 during encryption process 6. The resulting encrypted document or file 8 is sent over a network (such as an internal network, an intranet, the internet, an extranet, etc.) to Bob. It can only be decrypted during decryption process 10 using the Bob's private key 12. Bob's private key 12 is secret and known only to Bob. Bob applies the private key 12 to decrypt the document or original file 4.
The above method ensures data confidentiality during transmission of files across the network. Most conversion services employ PKI to assure their clients that confidentiality is maintained during the transmission.